package servlet;

import entity.Prestasi;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
import library.DbKoneksi;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import entity.Users;
import model.Akun;
import servlet.TampilDaftarBeasiswa;



//import for upload
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import model.DaftarPrestasi;
import model.DbConnection;
//import org.apache.commons.fileupload.DiskFileUpload;
//import org.apache.commons.fileupload.FileItem;
//import org.apache.commons.fileupload.FileUpload;

public class Login {

    HttpServletRequest request;

    public Login(HttpServletRequest request) {
        this.request = request;
    }

    
    //loogin
    public String login() throws Exception {
        HttpSession session = request.getSession();

        Users user = new Users();
        
        DbConnection dbConn = new DbConnection();
        Akun mdLogin = new Akun(dbConn.getConnection());
        
        
        
        String username = request.getParameter("username");
        
        

        //String password = user.MD5(request.getParameter("password"));
        String password = request.getParameter("password");
        
        

        if (username.equals("") || password.equals("")) {
            return "halaman_home.jsp";
        } else {
            user = mdLogin.getUser(username);
            if (username.equals("admintu@is.its.ac.id")||username.equals("admintu@is.its.ac.id")||username.equals("gembel@is.its.ac.id")) {
                session.setAttribute("uname", username);
                return "tambahMahasiswa.jsp";
            
            }
            else if (username.equals("5207100001")||username.equals("5208100001")||username.equals("5208100002")) {
                session.setAttribute("uname", username);
                return "TampilDaftarPrestasi";
            }
             else if (username.equals("52111111")||username.equals("52111112")||username.equals("3")) {
                session.setAttribute("uname", username);
                return "TambahAlumniBaru";
            }
              else if (username.equals("admintu@is.its.ac.id")) {
                session.setAttribute("uname", username);
                return "TampilDaftarPrestasi";
            }
            else  {
                return "index.jsp";
            }
        }

    }

    //change pass
//    public String formChangePass() throws Exception {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//            Users user = new Users();
//            String password = user.MD5(request.getParameter("password"));
//
//
//            DbConnection dbConn = new DbConnection();
//            ModelAkun mdLogin = new ModelAkun(dbConn.getConnection());
//            String username = (String) session.getAttribute("uname");
//            user = mdLogin.getUser(username);
//            if (password.equals(user.getPassword())) {
//                int temp = 1;
//                session.setAttribute("ijin_ubah", temp);
//                return "user_pass_ubah.jsp";
//
//            } else {
//                return "user_pass_cek.jsp";
//            }
//        } else {
//            return "index.jsp";
//        }
//    }
//
//    public String ChangePass() throws Exception {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//            Users user = new Users();
//            String password = user.MD5(request.getParameter("password"));
//            String username = (String) session.getAttribute("uname");
//            if ((Integer) session.getAttribute("ijin_ubah") != null) {
//                DbConnection dbConn = new DbConnection();
//                ModelAkun md = new ModelAkun(dbConn.getConnection());
//                try {
//                    md.ubahPass(password, username);
//                } catch (Exception ex) {
//                    ex.printStackTrace();
//                } finally {
//                    dbConn.closeConnection();
//                }
//                return detailuser();
//            }
//
//        } else {
//            LogicToko go = new LogicToko(request);
//            return go.listToko();
//        }
//        return "index.jsp";
//    }
//
//    public String logout() throws Exception {
//        HttpSession session = request.getSession();
//        session.removeAttribute("uname");
//        session.removeAttribute("id_toko");
//        session.removeAttribute("ijin_ubah");
//        session.removeAttribute("status_admin");
//        session.invalidate();
//        return "index.jsp";
//    }
//
//    //Select One
//    public String selecone() {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//            Users user = new Users();
//            DbConnection dbConn = new DbConnection();
//            ModelAkun mdLogin = new ModelAkun(dbConn.getConnection());
//            if (session.getAttribute("uname") != null) {
//                String username = (String) session.getAttribute("uname");
//                user = mdLogin.getUser(username);
//                if (user.getAdminStat() == 1) {
//                    request.setAttribute("user", user);
//                    dbConn.closeConnection();
//                    return "user_update_admin.jsp";
//                } else {
//                    request.setAttribute("user", user);
//                    dbConn.closeConnection();
//                    return "user_update.jsp";
//                }
//            } else {
//                return "login.jsp";
//            }
//        } else {
//            return "index.jsp";
//        }
//    }
//
//    
//    
//    
//    //cek username if exist
//    public String cekUserNameAvailforUpdate() throws Exception {
//        List<Users> user = new ArrayList<Users>();
//        DbConnection dbConn = new DbConnection();
//        ModelAkun mdHap = new ModelAkun(dbConn.getConnection());
//        String username = request.getParameter("username");
//        //String kategori = request.getParameter("kategori");
//        try {
//            user = mdHap.cekUserName(username);
//            request.setAttribute("user", user);
//        } catch (Exception ex) {
//            ex.printStackTrace();
//        } finally {
//            dbConn.closeConnection();
//        }
//
//
//        if (user.isEmpty()) {
//            return update();
//        } else {
//            return seleconeEror();
//        }
//
//    }
//    
//    
//    
//    //Select One
//    public String seleconeEror() {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//            Users user = new Users();
//            DbConnection dbConn = new DbConnection();
//            ModelAkun mdLogin = new ModelAkun(dbConn.getConnection());
//            if (session.getAttribute("uname") != null) {
//                String username = (String) session.getAttribute("uname");
//                user = mdLogin.getUser(username);
//                if (user.getAdminStat() == 1) {
//                    request.setAttribute("user", user);
//                    dbConn.closeConnection();
//                    return "user_update_admin_eror.jsp";
//                } else {
//                    request.setAttribute("user", user);
//                    dbConn.closeConnection();
//                    return "user_update_eror.jsp";
//                }
//            } else {
//                return "login.jsp";
//            }
//        } else {
//            return "index.jsp";
//        }
//    }
//    
//    
//    
//    
//    
//    
//    //Update
//    public String update() {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//
//            Users user = new Users();
//
//            String nama = request.getParameter("nama");
//            String alamat = request.getParameter("alamat");
//            String telepon = request.getParameter("telepon");
//            String email = request.getParameter("email");
//            String usernamebaru = request.getParameter("username");
//            String username = (String) session.getAttribute("uname");
//
//
//
//            DbConnection dbConn = new DbConnection();
//            ModelAkun md = new ModelAkun(dbConn.getConnection());
//            try {
//                md.updateUser(nama, alamat, telepon, email, usernamebaru, username);
//
//            } catch (Exception ex) {
//                ex.printStackTrace();
//            } finally {
//                dbConn.closeConnection();
//            }
//            session.setAttribute("uname", usernamebaru);
//            return detailuser();
//
//        } else {
//            return "index.jsp";
//        }
//    }
//
//    //list+delete
//    public String deleteUser() {
//        HttpSession session = request.getSession();
//        if (session.getAttribute("uname") != null) {
//            String idUser = request.getParameter("idUser");
//            List<Users> user = new ArrayList<Users>();
//            DbConnection dbConn = new DbConnection();
//            ModelAkun mdHap = new ModelAkun(dbConn.getConnection());
//            try {
//                if (idUser == null) {
//                    user = mdHap.getAllUsers();
//                    request.setAttribute("users", user);
//                } else {
//                    int id = Integer.parseInt(idUser);
//                    mdHap.deleteUser(id);
//                    //return deleteUser();
//                    user = mdHap.getAllUsers();
//                    request.setAttribute("users", user);
//                }
//            } catch (Exception ex) {
//                ex.printStackTrace();
//            } finally {
//                dbConn.closeConnection();
//            }
//            return "user_list.jsp";
//
//        } else {
//            return "index.jsp";
//        }
//    }
}
